def generate_command(model_name, dataset, save_name):
    """
    根据输入的模型名称、数据集和保存文件名生成指令。

    Args:
        model_name (str): 模型路径或名称。
        dataset (str): 数据集名称。
        save_name (str): 保存结果的文件路径。

    Returns:
        str: 生成的指令。
    """
    command = (
        f"CUDA_VISIBLE_DEVICES=7 python scripts/vllm_infer.py "
        f"--model_name_or_path {model_name} "
        f"--dataset {dataset} "
        f"--temperature 0.1 "
        f"--repetition_penalty 1.2 "
        f"--max_new_tokens 256 "
        f"--pipeline_parallel_size 1 "
        f"--skip_special_tokens "
        f"--seed 42 "
        f"--save_name {save_name}"
    )
    return command

if __name__ == "__main__":
    # 示例输入
    model_name = "./model/Meta-Llama-3-8B-Instruct"
    dataset = "sard_test"
    save_name = "./res/Meta-Llama-3-8B-sard.jsonl"

    # 生成指令
    command = generate_command(model_name, dataset, save_name)

    # 打印指令
    print("生成的指令:")
    print(command)